{\rtf1\ansi\ansicpg1250\uc1 \deff0\deflang1033\deflangfe1033
{\fonttbl {\f0\froman\fcharset238\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\f1\fswiss\fcharset238\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset238\fprq1{\*\panose 02070309020205020404}Courier New;}
{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}
}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}
{\stylesheet
{\widctlpar\adjustright \fs20\cgrid \snext0 Normal;}
{\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid \sbasedon0 \snext0 heading 1;}
{\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid \sbasedon0 \snext0 heading 2;}
{\s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid \sbasedon0 \snext0 heading 3;}
{\s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 4;}{\*\cs10 \additive Default Paragraph Font;}
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 5;}{\*\cs10 \additive Default Paragraph Font;}
{\s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid \sbasedon0 \snext15 Title;}
{\s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid \sbasedon0 \snext16 Subtitle;}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid \sbasedon0 \snext17 BodyText;}
{\s18\widctlpar\fs22\cgrid \sbasedon0 \snext18 DenseText;}
{\s28\widctlpar\tqc\tx4320\tqr\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext28 header;}
{\s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid \sbasedon0 \snext29 footer;}
{\s30\li360\sa60\sb120\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext30 GroupHeader;}
{\s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext41 Code Example 0;}
{\s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext42 Code Example 1;}
{\s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext43 Code Example 2;}
{\s43\li1080\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext44 Code Example 3;}
{\s44\li1440\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext45 Code Example 4;}
{\s45\li1800\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext46 Code Example 5;}
{\s46\li2160\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext47 Code Example 6;}
{\s47\li2520\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext48 Code Example 7;}
{\s48\li2880\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 8;}
{\s49\li3240\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 9;}
{\s50\li0\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext51 List Continue 0;}
{\s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext52 List Continue 1;}
{\s52\li720\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext53 List Continue 2;}
{\s53\li1080\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext54 List Continue 3;}
{\s54\li1440\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext55 List Continue 4;}
{\s55\li1800\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext56 List Continue 5;}
{\s56\li2160\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext57 List Continue 6;}
{\s57\li2520\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext58 List Continue 7;}
{\s58\li2880\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext59 List Continue 8;}
{\s59\li3240\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext59 List Continue 9;}
{\s60\li0\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext61 DescContinue 0;}
{\s61\li360\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext62 DescContinue 1;}
{\s62\li720\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext63 DescContinue 2;}
{\s63\li1080\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext64 DescContinue 3;}
{\s64\li1440\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext65 DescContinue 4;}
{\s65\li1800\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext66 DescContinue 5;}
{\s66\li2160\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext67 DescContinue 6;}
{\s67\li2520\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext68 DescContinue 7;}
{\s68\li2880\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext69 DescContinue 8;}
{\s69\li3240\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext69 DescContinue 9;}
{\s70\li0\sa30\sb30\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext81 LatexTOC 0;}
{\s71\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext82 LatexTOC 1;}
{\s72\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext83 LatexTOC 2;}
{\s73\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext84 LatexTOC 3;}
{\s74\li1440\sa18\sb18\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext85 LatexTOC 4;}
{\s75\li1800\sa15\sb15\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext86 LatexTOC 5;}
{\s76\li2160\sa12\sb12\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext87 LatexTOC 6;}
{\s77\li2520\sa9\sb9\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext88 LatexTOC 7;}
{\s78\li2880\sa6\sb6\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext89 LatexTOC 8;}
{\s79\li3240\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext89 LatexTOC 9;}
{\s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext81 \sautoupd List Bullet 0;}
{\s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid \sbasedon0 \snext82 \sautoupd List Bullet 1;}
{\s82\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls3\adjustright \fs20\cgrid \sbasedon0 \snext83 \sautoupd List Bullet 2;}
{\s83\fi-360\li1440\widctlpar\jclisttab\tx1440{\*\pn \pnlvlbody\ilvl0\ls4\pnrnot0\pndec }\ls4\adjustright \fs20\cgrid \sbasedon0 \snext84 \sautoupd List Bullet 3;}
{\s84\fi-360\li1800\widctlpar\jclisttab\tx1800{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec }\ls5\adjustright \fs20\cgrid \sbasedon0 \snext85 \sautoupd List Bullet 4;}
{\s85\fi-360\li2160\widctlpar\jclisttab\tx2160{\*\pn \pnlvlbody\ilvl0\ls6\pnrnot0\pndec }\ls6\adjustright \fs20\cgrid \sbasedon0 \snext86 \sautoupd List Bullet 5;}
{\s86\fi-360\li2520\widctlpar\jclisttab\tx2520{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec }\ls7\adjustright \fs20\cgrid \sbasedon0 \snext87 \sautoupd List Bullet 6;}
{\s87\fi-360\li2880\widctlpar\jclisttab\tx2880{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec }\ls8\adjustright \fs20\cgrid \sbasedon0 \snext88 \sautoupd List Bullet 7;}
{\s88\fi-360\li3240\widctlpar\jclisttab\tx3240{\*\pn \pnlvlbody\ilvl0\ls9\pnrnot0\pndec }\ls9\adjustright \fs20\cgrid \sbasedon0 \snext89 \sautoupd List Bullet 8;}
{\s89\fi-360\li3600\widctlpar\jclisttab\tx3600{\*\pn \pnlvlbody\ilvl0\ls10\pnrnot0\pndec }\ls10\adjustright \fs20\cgrid \sbasedon0 \snext89 \sautoupd List Bullet 9;}
{\s90\fi-360\li360\widctlpar\fs20\cgrid \sbasedon0 \snext91 \sautoupd List Enum 0;}
{\s91\fi-360\li720\widctlpar\fs20\cgrid \sbasedon0 \snext92 \sautoupd List Enum 1;}
{\s92\fi-360\li1080\widctlpar\fs20\cgrid \sbasedon0 \snext93 \sautoupd List Enum 2;}
{\s93\fi-360\li1440\widctlpar\fs20\cgrid \sbasedon0 \snext94 \sautoupd List Enum 3;}
{\s94\fi-360\li1800\widctlpar\fs20\cgrid \sbasedon0 \snext95 \sautoupd List Enum 4;}
{\s95\fi-360\li2160\widctlpar\fs20\cgrid \sbasedon0 \snext96 \sautoupd List Enum 5;}
{\s96\fi-360\li2520\widctlpar\fs20\cgrid \sbasedon0 \snext96 \sautoupd List Enum 5;}
{\s97\fi-360\li2880\widctlpar\fs20\cgrid \sbasedon0 \snext98 \sautoupd List Enum 7;}
{\s98\fi-360\li3240\widctlpar\fs20\cgrid \sbasedon0 \snext99 \sautoupd List Enum 8;}
{\s99\fi-360\li3600\widctlpar\fs20\cgrid \sbasedon0 \snext99 \sautoupd List Enum 9;}
}
{\comment begin body}
{\info 
{\title {\comment PROJEKT Z PRZEDMIOTU SYSTEMY KOMPUTEROWE (SYKO) grupa nr. 16  {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
0.01 \par
}}PROJEKT Z PRZEDMIOTU SYSTEMY KOMPUTEROWE (SYKO) grupa nr. 16}
{\comment Wygenerowano przezDoxgyen. }
{\creatim \yr2011\mo6\dy6\hr20\min13\sec44}
}\pard\plain 
\sectd\pgnlcrm
{\footer \s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid {\chpgn}}
\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid 
\vertalc\qc\par\par\par\par\par\par\par
\pard\plain \s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid 
{\field\fldedit {\*\fldinst TITLE \\*MERGEFORMAT}{\fldrslt TITLE}}\par
\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid 
\par
\par\par\par\par\par\par\par\par\par\par\par\par
\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid 
{\field\fldedit {\*\fldinst AUTHOR \\*MERGEFORMAT}{\fldrslt AUTHOR}}\par
Version 0.01\par{\field\fldedit {\*\fldinst CREATEDATE \\*MERGEFORMAT}{\fldrslt CREATEDATE}}\par
\page\page\vertalt
\pard\plain 
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid Spis tre\'9Cci\par
\pard\plain \par
{\field\fldedit {\*\fldinst TOC \\f \\*MERGEFORMAT}{\fldrslt Table of contents}}\par
\pard\plain 
\sect \sbkpage \pgndec \pgnrestart
\sect \sectd \sbknone
{\footer \s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid {\chpgn}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Dokumentacja projektu grupy nr 16\par \pard\plain 
{\tc \v Dokumentacja projektu grupy nr 16}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski, Piotr Zdunek \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Data:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 6 czerwca 2011\par
}{\bkmkstart AAAAAAAAAP}
{\bkmkend AAAAAAAAAP}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Zadanie Projekt grupy nr. 16
\par}
{\tc\tcl2 \v Zadanie Projekt grupy nr. 16}
{\bkmkstart AAAAAAAAAQ}
{\bkmkend AAAAAAAAAQ}
{{\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Tresc zadania
\par}
{\tc\tcl3 \v Tresc zadania}
Dla procesora AVR zaimplementuj i dok\'B3adnie przetestuj, podany zestaw instrukcji: \par \par{\b SWAP } \par {\b SEH } \par {\b ROL } \par {\b MOVW } \par {\b INC } \par {\b CLT } \par {\b BRVS } \par {\b BRHS } \par {\b AND } \par {\b SET } \par SBIC \par {\b OR } \par LDD \par {\b CPSE } \par {\b CLH } \par {\b BRPL } \par {\b BRCC } \par \parProsz\'EA pami\'EAta\'E6, i\'BF wiele z podanych instrukcji mo\'BFe pracowa\'E6 w wielu trybach adresowania - nale\'BFy wszystkie takie warianty uwzgl\'EAdni\'E6 w implementacji i testach. \par\par}
\par}
{\bkmkstart AAAAAAAAAR}
{\bkmkend AAAAAAAAAR}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Rozwi\'B9zanie
\par}
{\tc\tcl2 \v Rozwi\'B9zanie}
{\b tutaj b\'EAdzie warto cos opisa\'E6 jak to robimy w jakich plikach ile ich b\'EAdzie itd....}  \par\par}
{\bkmkstart AAAAAAAAAS}
{\bkmkend AAAAAAAAAS}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Do zrobienia:
\par}
{\tc\tcl2 \v Do zrobienia:}
1. Dopisa\'E6 reszt\'EA dokumentacji do tego co jest; \par 5. Wywali\'E6 t\'B9 sekcj\'EA przed ostatecznym oddaniem projektu:P; \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji AND{\tc \v Opis dzia\'B3ania funkcji AND}\par \pard\plain 
{\bkmkstart AAAAAAAAAA}
{\bkmkend AAAAAAAAAA}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\bkmkstart AAAAAAAACM}
{\bkmkend AAAAAAAACM}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje rejestrowe oraz arytmetyczno-logiczne
\par}
{\tc\tcl2 \v Operacje rejestrowe oraz arytmetyczno-logiczne}
1. Pobranie rejestru flagowego z pami\'EAci: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t FLAGS;\par
\par}
 2. Identyfikacja numeru rejestru arg. 1: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid     uint8_t Rd=(getMEMC(getPC()) & 0x00F0) >> 4;                                                // Identyfikacja numeru rejestru arg. 1\par
\par}
 3. Identyfikacja numeru rejestru arg. 2: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid     uint8_t Rr=(getMEMC(getPC()) & 0x000F);                                                             // Identyfikacja numeru rejestru arg. 2\par
\par}
 4. Pobranie zawartosci rejestru arg 1: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rd_val = getRegister(Rd) % MAX_DATA_VAL;                                        // Pobranie zawartosci rejestru arg 1\par
\par}
 5. Pobranie zawartosci rejestru arg 2: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid     uint8_t Rr_val = getRegister(Rr) % MAX_DATA_VAL;                                    // Pobranie zawartosci rejestru arg 2\par
\par}
 6. Obliczenie wyniku: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid     uint8_t R = (Rd_val & Rr_val);                                                                              // Obliczenie wyniku\par
\par}
\par}
{\bkmkstart AAAAAAAACN}
{\bkmkend AAAAAAAACN}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje na flagach
\par}
{\tc\tcl2 \v Operacje na flagach}
1. Wyzerowanie flagi V {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid     ClearFlagRegisterBit(FLAG_V);                                                                               // Wyzerowanie flagi V\par
\par}
 2. Ustawienie flagi N {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid     if( ( (Rd & 0x80) >> 7) == 0 && ((R & 0x80) >> 7) == 1)                     // Jesli MSB Rd == 0 i MSB R == 1 to zmieniamy\par
        SetFlagRegisterBit(FLAG_N);                                                                             // bo nast\'B9pi\'B3a zmiana MSB\par
        else\par
        ClearFlagRegisterBit(FLAG_N);\par
\par}
 3. Ustawienie flagi Z {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if( R == 0 ) SetFlagRegisterBit( FLAG_Z );                                                      //Ustawienie flagi Z\par
        else ClearFlagRegisterBit( FLAG_Z );\par
\par}
 4. Ustawienie flagi S {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if( (GetFlagRegisterStatus(FLAG_N) ^ GetFlagRegisterStatus(FLAG_V)) == 1 )\{     //Ustawienie flagi S\par
                SetFlagRegisterBit(FLAG_S);\par
        \}\par
        else ClearFlagRegisterBit(FLAG_S);\par
\par}
 5. Zapisanie nowej zawarto\'9Cci Rd {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         setRegister(Rd,R);                                                                                                      //Zapisanie wartosci rejestru do pami\'EAci\par
\par}
 6. Zwi\'EAkszenie PC {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid     incPC();                                                                                                                    //Zwi\'EAkszenie licznika rozkaz\'F3w\par
\par}
\par}
{\bkmkstart AAAAAAAACO}
{\bkmkend AAAAAAAACO}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
================================================================================\par
        Plik: f_and.c\par
--------------------------------------------------------------------------------\par
        Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
        Projekt:Model mikrokontrolera AVR\par
        Kompilator: avr-gcc-4.3.5\par
        Doc: doxygen 1.7.4\par
--------------------------------------------------------------------------------\par
        Zawiera:\par
--------------------------------------------------------------------------------\par
        Komentarze:\par
================================================================================\par
*/\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
void F_AND(void)\{\par
#if DEBUG_MODE\par
        printf("Function AND.");\par
#endif\par
        //Pobranie rejestru flagowego z pami\'EAci\par
        uint8_t FLAGS;\par
        FLAGS = GetFlagRegister();\par
\par
    uint8_t Rd=(getMEMC(getPC()) & 0x00F0) >> 4;                                                // Identyfikacja numeru rejestru arg. 1\par
    uint8_t Rr=(getMEMC(getPC()) & 0x000F);                                                             // Identyfikacja numeru rejestru arg. 2\par
        uint8_t Rd_val = getRegister(Rd) % MAX_DATA_VAL;                                        // Pobranie zawartosci rejestru arg 1\par
    uint8_t Rr_val = getRegister(Rr) % MAX_DATA_VAL;                                    // Pobranie zawartosci rejestru arg 2\par
    uint8_t R = (Rd_val & Rr_val);                                                                              // Obliczenie wyniku\par
    //wypisanie zawartosci rejestrow -- czyste sprawdzenie czy wsjo ok\par
    printf("\\n0x%04x: AND R%d = %d\\n", getPC(), Rd,Rd_val);\par
    printf("R%d = %d, R = %d\\n", getPC(),Rr,Rr_val,R);\par
        //----------USTAWIENIA REJESTRU FLAG-----------\par
\par
    ClearFlagRegisterBit(FLAG_V);                                                                               // Wyzerowanie flagi V\par
\par
    if( ( (Rd & 0x80) >> 7) == 0 && ((R & 0x80) >> 7) == 1)                     // Jesli MSB Rd == 0 i MSB R == 1 to zmieniamy\par
        SetFlagRegisterBit(FLAG_N);                                                                             // bo nast\'B9pi\'B3a zmiana MSB\par
        else\par
        ClearFlagRegisterBit(FLAG_N);\par
\par
        if( R == 0 ) SetFlagRegisterBit( FLAG_Z );                                                      //Ustawienie flagi Z\par
        else ClearFlagRegisterBit( FLAG_Z );\par
\par
        if( (GetFlagRegisterStatus(FLAG_N) ^ GetFlagRegisterStatus(FLAG_V)) == 1 )\{     //Ustawienie flagi S\par
                SetFlagRegisterBit(FLAG_S);\par
        \}\par
        else ClearFlagRegisterBit(FLAG_S);\par
\par
        PrintFlagRegisterStatus();                                                                                      //Wypisanie zawartosci rejestru flag\par
        setRegister(Rd,R);                                                                                                      //Zapisanie wartosci rejestru do pami\'EAci\par
    incPC();                                                                                                                    //Zwi\'EAkszenie licznika rozkaz\'F3w\par
\}\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji BRCC{\tc \v Opis dzia\'B3ania funkcji BRCC}\par \pard\plain 
{\bkmkstart AAAAAAAAAB}
{\bkmkend AAAAAAAAAB}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
BRCC (Branch if Carry Cleared) \par Branch czyli skok. Je\'9Cli w wyniku poprzednio wykonanej operacji zosta\'B3a wyzerowana flaga C, to ma zosta\'E6 wykonany skok do innego adresu.\par
{\bkmkstart AAAAAAAACP}
{\bkmkend AAAAAAAACP}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Wykonywane operacje
\par}
{\tc\tcl2 \v Wykonywane operacje}
1. Pobranie informacji o k: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         int k_temp = (getMEMC(getPC()) & 0x0FFF);\par
        int8_t k = (k_temp & 0b001111111000) >> 3;      // maska zgodnie z instruction set manual\par
\par}
 2. Sprawdzenie warunku ustawienia flagi C je\'9Cli warunek jest spe\'B3niony to skok o k, je\'9Cli nie to skok o 1 {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if( GetFlagRegisterStatus(FLAG_C) == 0) incPC_k(k);\par
        else incPC();\par
\par}
\par}
{\bkmkstart AAAAAAAACQ}
{\bkmkend AAAAAAAACQ}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
================================================================================\par
        Plik: f_brcc.c\par
--------------------------------------------------------------------------------\par
        Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
        Projekt:Model mikrokontrolera AVR\par
        Kompilator: avr-gcc-4.3.5\par
        Doc: doxygen 1.7.4\par
--------------------------------------------------------------------------------\par
        Zawiera:\par
--------------------------------------------------------------------------------\par
        Komentarze:\par
================================================================================\par
*/\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
/*\par
 * Funkcja BRCC Branch if Carry Cleared. Branch czyli skok. Je\'9Cli w wyniku poprzedni0\par
 * wykonanej operacji zosta\'B3a wyzerowana flaga C, to ma by\'E6 skok do innego adresu. Czyli ma by\'E6\par
 * Zwi\'EAkszone PC k o k. K zawiera si\'EA w przedziale (-64,+64). Nie testowa\'B3em czy dzia\'B3a do ty\'B3u, ale\par
 * teoretycznie powinno.\par
 *\par
 * Przyk\'B3ad kodu assemblera, kt\'F3ry testuje t\'EA funkcj\'EA\par
 *\par
 * add r5,r6 ; r5 = 5,r6 = 9\par
 * branch przep\par
 * and r1,r2\par
 * and r2,r3\par
 * and r3,r4\par
 * ...\par
 * przep: nop\par
 * and r1,r2 <- test czy kolejna operacja si\'EA wykoan\par
 *\par
 */\par
\par
void F_BRCC(void)\{\par
\par
        #if DEBUG_MODE\par
                printf("Function BRCC.");\par
                printf("PC = %lx\\n",getPC());\par
        #endif\par
\par
        int k_temp = (getMEMC(getPC()) & 0x0FFF);\par
        int8_t k = (k_temp & 0b001111111000) >> 3;      // maska zgodnie z instruction set manual\par
                                                                                                        //      wy\'B3uskanie wartosci zmiennej k (offsetu)\par
\par
        #if DEBUG_MODE\par
                printf("k %x\\n",k);\par
        #endif\par
\par
        #if DEBUG_MODE\par
                printf("k %d %x\\n",k,k);\par
                //ClearFlagRegisterBit(FLAG_C);\par
        #endif\par
// Sprawdzenie warunku ustawienia flagi C\par
// je\'9Cli warunek jest spe\'B3niony to skok o k\par
// je\'9Cli nie to skok o 1\par
        if( GetFlagRegisterStatus(FLAG_C) == 0) incPC_k(k);\par
        else incPC();\par
\par
        #if DEBUG_MODE\par
                printf("PC = %x\\n",getPC());\par
        #endif\par
        //do testst\'F3w!!!!\par
        //setPC();\par
\}\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji BRHS{\tc \v Opis dzia\'B3ania funkcji BRHS}\par \pard\plain 
{\bkmkstart AAAAAAAAAC}
{\bkmkend AAAAAAAAAC}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
BRHS(Branch if Half Carry flag is set)\par Branch czyli skok. Je\'9Cli w wyniku poprzedniej wykonanej operacji zosta\'B3a ustawiona flaga H, to ma zosta\'E6 wykonany skok do innego adresu.\par
{\bkmkstart AAAAAAAACR}
{\bkmkend AAAAAAAACR}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Wykonywane operacje
\par}
{\tc\tcl2 \v Wykonywane operacje}
1. Pobranie informacji o k: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         int k_temp = (getMEMC(getPC()) & 0x0FFF);\par
        int8_t k = (k_temp & 0b001111111000) >> 3;              //dziwna maska ale taka musi by\'E6, uwaga na win nie dzia\'B3a\par
\par}
 2. Sprawdzenie warunku ustawienia flagi H je\'9Cli warunek jest spe\'B3niony to skok o k, je\'9Cli nie to skok o 1 {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if( GetFlagRegisterStatus(FLAG_H) == 1 ) incPC_k(k);\par
        else incPC();\par
\par}
\par}
{\bkmkstart AAAAAAAACS}
{\bkmkend AAAAAAAACS}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
================================================================================\par
        Plik: f_brhs.c\par
--------------------------------------------------------------------------------\par
        Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
        Projekt:Model mikrokontrolera AVR\par
        Kompilator: avr-gcc-4.3.5\par
        Doc: doxygen 1.7.4\par
--------------------------------------------------------------------------------\par
        Zawiera:\par
--------------------------------------------------------------------------------\par
        Komentarze:\par
================================================================================\par
*/\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
/*TODO!!! opis BRHS do poprawienia\par
 *\par
 *\par
 *\par
 * Funkcja BRHS Branch if Half Carry flag is set. Branch czyli skok. Je\'9Cli w wyniku poprzedniej\par
 * wykonanej operacji zosta\'B3a ustawiona flaga H, to ma by\'E6 skok do innego adresu. Czyli ma by\'E6\par
 * Zwi\'EAkszone PC k o k. K zawiera si\'EA w przedziale (-64,+64). Nie testowa\'B3em czy dzia\'B3a do ty\'B3u, ale\par
 * teoretycznie powinno.\par
 *\par
 * Przyk\'B3ad kodu assemblera, kt\'F3ry testuje t\'EA funkcj\'EA\par
 *\par
 * add r5,r6 ; r5 = 5,r6 = 9\par
 * branch przep\par
 * and r1,r2\par
 * and r2,r3\par
 * and r3,r4\par
 * ...\par
 * przep: nop\par
 * and r1,r2 <- test czy kolejna operacja si\'EA wykoan\par
 *\par
 */\par
\par
void F_BRHS(void)\{\par
\par
        #if DEBUG_MODE\par
                printf("Function BRHS.");\par
                printf("PC = %lx\\n",getPC());\par
        #endif\par
//Pobranie warto\'9Cci sta\'B3ej skoku z instrukcji\par
        int k_temp = (getMEMC(getPC()) & 0x0FFF);\par
        int8_t k = (k_temp & 0b001111111000) >> 3;              //dziwna maska ale taka musi by\'E6, uwaga na win nie dzia\'B3a\par
\par
        #if DEBUG_MODE\par
                printf("k %x\\n",k);\par
        #endif\par
\par
        #if DEBUG_MODE\par
                printf("k %d %x\\n",k,k);\par
                SetFlagRegisterBit(FLAG_H);                                                                                     //ustawienie flagi V na sztywno do testowania\par
        #endif\par
// Sprawdzenie warunku ustawienia flagi C\par
// je\'9Cli warunek jest spe\'B3niony to skok o k\par
// je\'9Cli nie to skok o 1\par
        if( GetFlagRegisterStatus(FLAG_H) == 1 ) incPC_k(k);\par
        else incPC();\par
\par
        #if DEBUG_MODE\par
                printf("PC = %x\\n",getPC());\par
        #endif\par
        //do testst\'C3\'B3w!!!!                                                                                              //zwi\'EF\'BF\'BDkszenie licznika rozkaz\'EF\'BF\'BDw\par
        //setPC();\par
\}\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji BRPL{\tc \v Opis dzia\'B3ania funkcji BRPL}\par \pard\plain 
{\bkmkstart AAAAAAAAAD}
{\bkmkend AAAAAAAAAD}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
BRCC (Branch if plus) \par Branch czyli skok. Je\'9Cli w wyniku poprzedniej wykonanej operacji zosta\'B3a ustawiona flaga N, to ma zosta\'E6 wykonany skok do innego adresu.\par
{\bkmkstart AAAAAAAACT}
{\bkmkend AAAAAAAACT}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Wykonywane operacje
\par}
{\tc\tcl2 \v Wykonywane operacje}
1. Pobranie informacji o k: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         int k_temp = (getMEMC(getPC()) & 0x0FFF);\par
        int8_t k = (k_temp & 0b001111111000) >> 3;\par
\par}
 2. Sprawdzenie warunku ustawienia flagi N je\'9Cli warunek jest spe\'B3niony to skok o k, je\'9Cli nie to skok o 1 {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if( GetFlagRegisterStatus(FLAG_N) == 0) incPC_k(k);\par
        else incPC();\par
\par}
\par}
{\bkmkstart AAAAAAAACU}
{\bkmkend AAAAAAAACU}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
================================================================================\par
        Plik: f_brpl.c\par
--------------------------------------------------------------------------------\par
        Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
        Projekt:Model mikrokontrolera AVR\par
        Kompilator: avr-gcc-4.3.5\par
        Doc: doxygen 1.7.4\par
--------------------------------------------------------------------------------\par
        Zawiera:\par
--------------------------------------------------------------------------------\par
        Komentarze:\par
================================================================================\par
*/\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
/*TODO!!! Opis BRPL do poprawienia\par
 * Funkcja BRPL Branch if plus. Branch czyli skok. Je\'9Cli w wyniku poprzedniej\par
 * wykonanej operacji zosta\'B3a ustawiona flaga N, to ma by\'E6 skok do innego adresu. Czyli ma by\'E6\par
 * Zwi\'EAkszone PC k o k. K zawiera si\'EA w przedziale (-64,+64). Nie testowa\'B3em czy dzia\'B3a do ty\'B3u, ale\par
 * teoretycznie powinno.\par
 *\par
 * Przyk\'B3ad kodu assemblera, kt\'F3ry testuje t\'EA funkcj\'EA\par
 *\par
 * add r5,r6 ; r5 = 5,r6 = 9\par
 * branch przep\par
 * and r1,r2\par
 * and r2,r3\par
 * and r3,r4\par
 * ...\par
 * przep: nop\par
 * and r1,r2 <- test czy kolejna operacja si\'EA wykoan\par
 *\par
 */\par
\par
void F_BRPL(void)\{\par
\par
        #if DEBUG_MODE\par
                printf("Function BRPL.");\par
                printf("PC = %lx\\n",getPC());\par
        #endif\par
\par
//Pobranie warto\'9Cci sta\'B3ej skoku z instrukcji\par
        int k_temp = (getMEMC(getPC()) & 0x0FFF);\par
\par
        #if DEBUG_MODE\par
                printf("k %lx\\n",k_temp);\par
        #endif\par
\par
\par
        int8_t k = (k_temp & 0b001111111000) >> 3;\par
\par
        #if DEBUG_MODE\par
                printf("k %d %x\\n",k,k);\par
                SetFlagRegisterBit(FLAG_N);                                                                                     //ustawienie flagi V na sztywno do testowania\par
        #endif\par
// Sprawdzenie warunku ustawienia flagi N\par
// je\'9Cli warunek jest spe\'B3niony to skok o k\par
// je\'9Cli nie to skok o 1\par
        if( GetFlagRegisterStatus(FLAG_N) == 0) incPC_k(k);\par
        else incPC();\par
\par
        #if DEBUG_MODE\par
                printf("PC = %x\\n",getPC());\par
        #endif\par
        //do testst\'C3\'B3w!!!!                                                                                              //zwi\'EF\'BF\'BDkszenie licznika rozkaz\'EF\'BF\'BDw\par
        //setPC();\par
\}\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji BRVS{\tc \v Opis dzia\'B3ania funkcji BRVS}\par \pard\plain 
{\bkmkstart AAAAAAAAAE}
{\bkmkend AAAAAAAAAE}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
BRHS(Branch if oVerflow flag is set)\par Branch czyli skok. Je\'9Cli w wyniku poprzedniej wykonanej operacji zosta\'B3a ustawiona flaga V, to ma zosta\'E6 wykonany skok do innego adresu.\par
{\bkmkstart AAAAAAAACV}
{\bkmkend AAAAAAAACV}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Wykonywane operacje
\par}
{\tc\tcl2 \v Wykonywane operacje}
1. Pobranie informacji o k: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         int k_temp = (getMEMC(getPC()) & 0x0FFF);\par
        int8_t k = (k_temp & 0b001111111000) >> 3;                                              // sta\'B3a - zawiera si\'EA od -64 do 64\par
\par}
 2. Sprawdzenie warunku ustawienia flagi V je\'9Cli warunek jest spe\'B3niony to skok o k, je\'9Cli nie to skok o 1 {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if( GetFlagRegisterStatus(FLAG_V) == 1 ) incPC_k(k);\par
        else incPC();\par
\par}
\par}
{\bkmkstart AAAAAAAACW}
{\bkmkend AAAAAAAACW}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
================================================================================\par
        Plik: f_brvs.c\par
--------------------------------------------------------------------------------\par
        Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
        Projekt:Model mikrokontrolera AVR\par
        Kompilator: avr-gcc-4.3.5\par
        Doc: doxygen 1.7.4\par
--------------------------------------------------------------------------------\par
        Zawiera:\par
--------------------------------------------------------------------------------\par
        Komentarze:\par
================================================================================\par
*/\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
/*TODO!!! Opis BRVS do poprawienia\par
 * Funkcja BRVS Branch if oVerflow flag is set. Branch czyli skok. Je\'9Cli w wyniku poprzedniej\par
 * wykonanej operacji zosta\'B3a ustawiona flaga V, to ma by\'E6 skok do innego adresu. Czyli ma by\'E6\par
 * Zwi\'EAkszone PC k o k. K zawiera si\'EA w przedziale (-64,+64). Nie testowa\'B3em czy dzia\'B3a do ty\'B3u, ale\par
 * teoretycznie powinno.\par
 *\par
 * Przyk\'B3ad kodu assemblera, kt\'F3ry testuje t\'EA funkcj\'EA\par
 *\par
 * add r5,r6 ; r5 = 9,r6 = 8\par
 * branch przep\par
 * and r1,r2\par
 * and r2,r3\par
 * and r3,r4\par
 * ...\par
 * przep: nop\par
 * and r1,r2 <- test czy kolejna operacja si\'EA wykoan\par
 *\par
 */\par
\par
void F_BRVS(void)\{\par
\par
        #if DEBUG_MODE\par
                printf("Function BRVS.");\par
                printf("PC = %lx\\n",getPC());\par
        #endif\par
//Pobranie warto\'9Cci sta\'B3ej skoku z instrukcji\par
        int k_temp = (getMEMC(getPC()) & 0x0FFF);\par
        int8_t k = (k_temp & 0b001111111000) >> 3;                                              // sta\'B3a - zawiera si\'EA od -64 do 64\par
\par
        #if DEBUG_MODE\par
                printf("k %x\\n",k);\par
        #endif\par
\par
        #if DEBUG_MODE\par
                printf("k %d %x\\n",k,k);\par
                //SetFlagRegisterBit(FLAG_V);                                                                           //ustawienie flagi V na sztywno do testowania\par
        #endif\par
// Sprawdzenie warunku ustawienia flagi C\par
// je\'9Cli warunek jest spe\'B3niony to skok o k\par
// je\'9Cli nie to skok o 1\par
    PrintFlagRegisterStatus();\par
        if( GetFlagRegisterStatus(FLAG_V) == 1 ) incPC_k(k);\par
        else incPC();\par
\par
        #if DEBUG_MODE\par
                printf("PC = %x\\n",getPC());\par
        #endif\par
\par
        //do testst\'C3\'B3w!!!!                                                                                              //zwi\'EF\'BF\'BDkszenie licznika rozkaz\'EF\'BF\'BDw\par
        //setPC();\par
\}\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji CLH{\tc \v Opis dzia\'B3ania funkcji CLH}\par \pard\plain 
{\bkmkstart AAAAAAAAAF}
{\bkmkend AAAAAAAAAF}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
CLH - funkcja kasuj\'B9ca bit H w rejestrze SREG\par
{\bkmkstart AAAAAAAACX}
{\bkmkend AAAAAAAACX}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje na flagach
\par}
{\tc\tcl2 \v Operacje na flagach}
1. Wyczyszczenie flagi H: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         ClearFlagRegisterBit(FLAG_H);\par
\par}
 2. Zwi\'EAkszenie PC {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         incPC();\par
\par}
\par}
{\bkmkstart AAAAAAAACY}
{\bkmkend AAAAAAAACY}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
================================================================================\par
        Plik: f_clh.c\par
--------------------------------------------------------------------------------\par
        Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
        Projekt:Model mikrokontrolera AVR\par
        Kompilator: avr-gcc-4.3.5\par
        Doc: doxygen 1.7.4\par
--------------------------------------------------------------------------------\par
        Zawiera:\par
--------------------------------------------------------------------------------\par
        Komentarze:\par
================================================================================\par
*/\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
//******************************************************************************\par
//CLH - funkcja kasuj\'B9ca bit H w rejestrze SREG\par
//******************************************************************************\par
\par
void F_CLH(void)\{\par
\par
//Debug options\par
        #if DEBUG_MODE\par
                printf("Function CLH.");\par
\par
        PrintFlagRegisterStatus();\par
        SetFlagRegisterBit(FLAG_H);\par
        PrintFlagRegisterStatus();\par
        DEBUG(1)\par
        #endif\par
//Wyczy\'9C\'E6 flag\'EA H\par
        ClearFlagRegisterBit(FLAG_H);\par
\par
//Wypisz status rejestru - w celu sprawdzenia\par
        PrintFlagRegisterStatus();\par
\par
//Zwi\'EAksz PC\par
        incPC();\par
\}\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji CLT{\tc \v Opis dzia\'B3ania funkcji CLT}\par \pard\plain 
{\bkmkstart AAAAAAAAAG}
{\bkmkend AAAAAAAAAG}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
CLT - funkcja kasuj\'B9ca bit T w rejestrze SREG\par
{\bkmkstart AAAAAAAACZ}
{\bkmkend AAAAAAAACZ}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje na flagach
\par}
{\tc\tcl2 \v Operacje na flagach}
1. Wyczyszczenie flagi T: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         ClearFlagRegisterBit(FLAG_T);\par
\par}
 2. Zwi\'EAkszenie PC {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         incPC();\par
\par}
\par}
{\bkmkstart AAAAAAAADA}
{\bkmkend AAAAAAAADA}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
*================================================================================\par
*       Plik: f_clt.c\par
*       Created on: Jun 5, 2011\par
*--------------------------------------------------------------------------------\par
*       Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
*       Projekt: Model mikrokontrolera AVR\par
*       Kompilator: avr-gcc-4.3.5\par
*       Doc: doxygen 1.4.3\par
*--------------------------------------------------------------------------------\par
*       Zawiera: Implementacj\'EA funkcji CLT\par
*--------------------------------------------------------------------------------\par
*       Komentarze:\par
*================================================================================\par
*/\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
//**********************************************\par
//CLT - funkcja kasuj\'B9ca bit T w rejestrze SREG\par
//**************************************************\par
\par
\par
void F_CLT(void)\{\par
\par
printf("Function CLT.");\par
        #if DEBUG_MODE_VOICE\par
\par
//\par
//      PrintFlagRegisterStatus();\par
//      SetFlagRegisterBit(FLAG_C);\par
//      PrintFlagRegisterStatus();\par
\par
        #endif\par
        DEBUG(1)\par
//Wyczy\'9C\'E6 flag\'EA T\par
        ClearFlagRegisterBit(FLAG_T);\par
//Wypisz status rejestru flagowego - w celu sprawdzenia\par
        PrintFlagRegisterStatus();\par
//Zwi\'EAksz PC o 1\par
        incPC();\par
\}\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji CPSE{\tc \v Opis dzia\'B3ania funkcji CPSE}\par \pard\plain 
{\bkmkstart AAAAAAAAAH}
{\bkmkend AAAAAAAAAH}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
CPSE - funkcja wykonuj\'B9ca skok je\'9Cli warto\'9C\'E6 dw\'F3ch danych rejestr\'F3w jest sobie r\'F3wna.\par
{\bkmkstart AAAAAAAADB}
{\bkmkend AAAAAAAADB}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Wykonywane operacje
\par}
{\tc\tcl2 \v Wykonywane operacje}
1. Identyfikacja numeru rejestru arg. 1: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rd=(getMEMC(getPC()) & 0x00F0) >> 4;                    //Identyfikacja numeru rejestru arg. 1\par
\par}
 2. Identyfikacja numeru rejestru arg. 2: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rr=(getMEMC(getPC()) & 0x000F);                         //Identyfikacja numeru rejestru arg. 2\par
\par}
 3. Pobranie zawartosci rejestru arg 1: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rd_val = getRegister(Rd) % MAX_DATA_VAL;                //Pobranie zawartosci rejestru arg 1\par
\par}
 4. Pobranie zawartosci rejestru arg 2: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rr_val = getRegister(Rr) % MAX_DATA_VAL;                //Pobranie zawartosci rejestru arg 2\par
\par}
 5.Sprawdzenie warunku r\'F3wno\'9Cci, je\'9Cli prawda do skok o ustalone k, je\'9Cli fa\'B3sz to skok o 1: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if(Rd_val == Rr_val) incPC_k(1);\par
        else incPC();\par
\par}
\par}
{\bkmkstart AAAAAAAADC}
{\bkmkend AAAAAAAADC}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
================================================================================\par
        Plik: f_cpse.c\par
--------------------------------------------------------------------------------\par
        Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
        Projekt:Model mikrokontrolera AVR\par
        Kompilator: avr-gcc-4.3.5\par
        Doc: doxygen 1.7.4\par
--------------------------------------------------------------------------------\par
        Zawiera:\par
--------------------------------------------------------------------------------\par
        Komentarze:\par
================================================================================\par
*/\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
//**********************************************\par
//CPSE - funkcja wykonuj\'B9ca skok je\'9Cli warto\'9C\'E6 dw\'F3ch danych rejestr\'F3w jest sobie r\'F3wna\par
//**************************************************\par
\par
void F_CPSE(void)\{\par
\par
        #if DEBUG_MODE\par
                printf("Function CPSE.");\par
        #endif\par
        uint8_t Rd=(getMEMC(getPC()) & 0x00F0) >> 4;                    //Identyfikacja numeru rejestru arg. 1\par
        uint8_t Rr=(getMEMC(getPC()) & 0x000F);                         //Identyfikacja numeru rejestru arg. 2\par
        uint8_t Rd_val = getRegister(Rd) % MAX_DATA_VAL;                //Pobranie zawartosci rejestru arg 1\par
        uint8_t Rr_val = getRegister(Rr) % MAX_DATA_VAL;                //Pobranie zawartosci rejestru arg 2\par
\par
        #if DEBUG_MODE\par
                printf("Rd %d Rr %d\\n",Rd_val,Rr_val);\par
                printf("PC = %d\\n",getPC());\par
        #endif\par
//Sprawdzenie warunku r\'F3wno\'9Cci\par
//je\'9Cli prawda do skok o k\par
//je\'9Cli fa\'B3sz to skok o 1\par
        if(Rd_val == Rr_val) incPC_k(1);\par
        else incPC();\par
\par
        #if DEBUG_MODE\par
                printf("PC = %d\\n",getPC());\par
        #endif\par
        //TODO - spr. incPC w CPSE\par
        //incPC();\par
\}\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji INC{\tc \v Opis dzia\'B3ania funkcji INC}\par \pard\plain 
{\bkmkstart AAAAAAAAAI}
{\bkmkend AAAAAAAAAI}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\bkmkstart AAAAAAAADD}
{\bkmkend AAAAAAAADD}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje rejestrowe oraz arytmetyczno-logiczne
\par}
{\tc\tcl2 \v Operacje rejestrowe oraz arytmetyczno-logiczne}
1. Pobranie numeru rejestru i jego warto\'9Cci z instrukcji: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         int Rd_temp = (getMEMC(getPC()) & 0x0FF0) >> 4;\par
        uint8_t Rd = (Rd_temp & 0b00011111);\par
        uint8_t Rd_val = getRegister(Rd) % MAX_DATA_VAL;\par
\par}
 2. Zwi\'EAkszenie warto\'9Cci o 1: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t R = Rd_val + 1;                                                                 //Zwi\'EAkszenie warto\'9Cci o 1\par
\par}
 3. Zapisanie wartosci do rejestru: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         setRegister(Rd,R);                                                                              //Zapisanie wartosci do rejestru\par
\par}
 4. Zwi\'EAkszenie licznika rozkaz\'F3w: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid     incPC();                                                                                            //Zwi\'EAkszenie licznika rozkaz\'F3w\par
\par}
\par}
{\bkmkstart AAAAAAAADE}
{\bkmkend AAAAAAAADE}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje na flagach
\par}
{\tc\tcl2 \v Operacje na flagach}
1. Ustawienie flagi V: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if(Rd_val == 127) SetFlagRegisterBit(FLAG_V);                                   // Ustawienie flagi V\par
        else ClearFlagRegisterBit(FLAG_V);\par
\par}
 2. Ustawienie flagi N {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid     if( ( (Rd & 0x80) >> 7) == 0 && ((R & 0x80) >> 7) == 1) // Je\'9Cli MSB Rd == 0 i MSB R == 1 to zmieniamy\par
        SetFlagRegisterBit(FLAG_N);                                                                     // bo nast\'B9pi\'B3a zmiana MSB\par
    else\par
        ClearFlagRegisterBit(FLAG_N);\par
\par}
 3. Ustawienie flagi Z {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid     if( R == 0 ) SetFlagRegisterBit( FLAG_Z );                                          //Ustawienie flagi Z\par
        else ClearFlagRegisterBit( FLAG_Z );\par
\par}
 4. Ustawienie flagi S {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if( (GetFlagRegisterStatus(FLAG_N) ^ GetFlagRegisterStatus(FLAG_V)) == 1 )\{\par
                SetFlagRegisterBit(FLAG_S);                                                             //Ustawienie flagi S\par
        \}\par
        else ClearFlagRegisterBit(FLAG_S);\par
\par}
\par}
{\bkmkstart AAAAAAAADF}
{\bkmkend AAAAAAAADF}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
================================================================================\par
        Plik: f_inc.c\par
--------------------------------------------------------------------------------\par
        Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
        Projekt:Model mikrokontrolera AVR\par
        Kompilator: avr-gcc-4.3.5\par
        Doc: doxygen 1.7.4\par
--------------------------------------------------------------------------------\par
        Zawiera:\par
--------------------------------------------------------------------------------\par
        Komentarze:\par
================================================================================\par
*/\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
// ******************************************************************************\par
//INC - funkcja zwi\'EAkszaj\'B9ca wartos\'E6 danego rejestru o 1\par
// ******************************************************************************\par
\par
\par
void F_INC(void)\{\par
#if DEBUG_MODE\par
        printf("Function INC.");\par
#endif\par
//Pobranie numeru rejestru i jego warto\'9Cci z instrukcji\par
        int Rd_temp = (getMEMC(getPC()) & 0x0FF0) >> 4;\par
        uint8_t Rd = (Rd_temp & 0b00011111);\par
        uint8_t Rd_val = getRegister(Rd) % MAX_DATA_VAL;\par
        uint8_t R = Rd_val + 1;                                                                 //Zwi\'EAkszenie warto\'9Cci o 1\par
\par
        setRegister(Rd,R);                                                                              //Zapisanie wartosci do rejestru\par
    incPC();                                                                                            //Zwi\'EAkszenie licznika rozkaz\'F3w\par
\par
                                                                                                                        // USTAWIENIE REJESTRU FLAG\par
        if(Rd_val == 127) SetFlagRegisterBit(FLAG_V);                                   // Ustawienie flagi V\par
        else ClearFlagRegisterBit(FLAG_V);\par
\par
    if( ( (Rd & 0x80) >> 7) == 0 && ((R & 0x80) >> 7) == 1) // Je\'9Cli MSB Rd == 0 i MSB R == 1 to zmieniamy\par
        SetFlagRegisterBit(FLAG_N);                                                                     // bo nast\'B9pi\'B3a zmiana MSB\par
    else\par
        ClearFlagRegisterBit(FLAG_N);\par
\par
    if( R == 0 ) SetFlagRegisterBit( FLAG_Z );                                          //Ustawienie flagi Z\par
        else ClearFlagRegisterBit( FLAG_Z );\par
\par
        if( (GetFlagRegisterStatus(FLAG_N) ^ GetFlagRegisterStatus(FLAG_V)) == 1 )\{\par
                SetFlagRegisterBit(FLAG_S);                                                             //Ustawienie flagi S\par
        \}\par
        else ClearFlagRegisterBit(FLAG_S);\par
\par
\}\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji MOVW{\tc \v Opis dzia\'B3ania funkcji MOVW}\par \pard\plain 
{\bkmkstart AAAAAAAAAJ}
{\bkmkend AAAAAAAAAJ}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
MOVW - funkcja przenosz\'B9ca dwa rejestry po\'B3o\'BFone obok siebie do dw\'F3ch innych rejestr\'F3w po\'B3o\'BFonych obok siebie\par
{\bkmkstart AAAAAAAADG}
{\bkmkend AAAAAAAADG}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje rejestrowe oraz arytmetyczno-logiczne
\par}
{\tc\tcl2 \v Operacje rejestrowe oraz arytmetyczno-logiczne}
1. Deklaracja dozwolonych warto\'9Cci rejestr\'F3w Rr i Rd: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         int reg_num[16] = \{0,2,4,6,8,10,12,14,16,18,20,21,22,24,26,28,30\}; //Dozwolone warto\'9Cci rejestr\'F3w Rr i Rd\par
\par}
 2. Identyfikacja numeru rejestru arg. 1: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rd = (getMEMC(getPC()) & 0x00F0) >> 4;                  //Identyfikacja numeru rejestru arg. 1\par
\par}
 3. Identyfikacja numeru rejestru arg. 2: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rr = (getMEMC(getPC()) & 0x000F);                               //Identyfikacja numeru rejestru arg. 2\par
\par}
 4. Pobranie zawartosci rejestru Rd, Rd+1, Rr, Rr+1 : {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rd_val = getRegister( reg_num[Rd] ) % MAX_DATA_VAL;                     //Pobranie zawartosci rejestru arg 1\par
        uint8_t Rd2_val = getRegister( reg_num[Rd] + 1) % MAX_DATA_VAL;\par
        uint8_t Rr_val = getRegister(reg_num[Rr]) % MAX_DATA_VAL;                       //Pobranie zawartosci rejestru arg 2\par
        uint8_t Rr2_val = getRegister(reg_num[Rr] + 1) % MAX_DATA_VAL;\par
\par}
 5. Zapisanie warto\'9Cci rejestr\'F3w Rr i Rr+1 do rejestr\'F3w Rd i Rd+1 : {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         setRegister(reg_num[Rd], Rr_val);                                                       //Zapisanie wartosci Rr do Rd\par
        setRegister(reg_num[Rd]+1,Rr2_val);\par
\par}
 6. Zwi\'EAkszenie PC: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         incPC(); //Zwi\'EAkszenie warto\'9Cci licznika PC\par
\par}
\par}
{\bkmkstart AAAAAAAADH}
{\bkmkend AAAAAAAADH}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
 *================================================================================\par
 *      Plik: f_movw.c\par
 *      Created on: May 29, 2011\par
 *--------------------------------------------------------------------------------\par
 *      Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
 *      Projekt: Model mikrokontrolera AVR\par
 *      Kompilator: avr-gcc-4.3.5\par
 *      Doc: doxygen 1.4.3\par
 *--------------------------------------------------------------------------------\par
 *      Zawiera: Funkcj\'EA realizuj\'B9c\'B9 instrukcj\'EA MOVW\par
 *--------------------------------------------------------------------------------\par
 *      Komentarze:\par
 *================================================================================\par
 */\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
void F_MOVW() \{\par
\par
        int reg_num[16] = \{0,2,4,6,8,10,12,14,16,18,20,21,22,24,26,28,30\}; //Dozwolone warto\'9Cci rejestr\'F3w Rr i Rd\par
        printf("Function MOVW.");\par
#if DEBUG_MODE_VOICE\par
        printf("Function MOVW.");\par
#endif\par
        uint8_t Rd = (getMEMC(getPC()) & 0x00F0) >> 4;                  //Identyfikacja numeru rejestru arg. 1\par
        uint8_t Rr = (getMEMC(getPC()) & 0x000F);                               //Identyfikacja numeru rejestru arg. 2\par
        uint8_t Rd_val = getRegister( reg_num[Rd] ) % MAX_DATA_VAL;                     //Pobranie zawartosci rejestru arg 1\par
        uint8_t Rd2_val = getRegister( reg_num[Rd] + 1) % MAX_DATA_VAL;\par
        uint8_t Rr_val = getRegister(reg_num[Rr]) % MAX_DATA_VAL;                       //Pobranie zawartosci rejestru arg 2\par
        uint8_t Rr2_val = getRegister(reg_num[Rr] + 1) % MAX_DATA_VAL;\par
\par
        printf("R%d = 0x%04x,R%d = 0x%04x -> R%d = 0x%04x, R%d = 0x%04x\\n", reg_num[Rd] + 1,\par
                        Rd2_val, reg_num[Rd], Rd_val, reg_num[Rr] + 1, Rr2_val,reg_num[Rr], Rr_val);\par
\par
        setRegister(reg_num[Rd], Rr_val);                                                       //Zapisanie wartosci Rr do Rd\par
        setRegister(reg_num[Rd]+1,Rr2_val);\par
\par
        printf("R%d = 0x%04x,R%d = 0x%04x -> R%d = 0x%04x, R%d = 0x%04x\\n", reg_num[Rd] + 1,\par
                                Rd2_val, reg_num[Rd], Rd_val, reg_num[Rr] + 1, Rr2_val,reg_num[Rr], Rr_val);\par
\par
        incPC(); //Zwi\'EAkszenie warto\'9Cci licznika PC\par
\par
\}\par
\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji OR{\tc \v Opis dzia\'B3ania funkcji OR}\par \pard\plain 
{\bkmkstart AAAAAAAAAK}
{\bkmkend AAAAAAAAAK}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
OR - operacja logiczna OR wykonywana na zawarto\'9Cciach rejestr\'F3w Rd i Rr, kt\'F3rej wynik jest zapisywany do rejestru Rd.\par
{\bkmkstart AAAAAAAADI}
{\bkmkend AAAAAAAADI}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje rejestrowe oraz arytmetyczno-logiczne
\par}
{\tc\tcl2 \v Operacje rejestrowe oraz arytmetyczno-logiczne}
1. Pobranie adres\'F3w rejestr\'F3w Rd i Rr: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rd = (getMEMC(getPC()) & 0x00F0) >> 4; //identyfikacja numeru rejestru arg. 1\par
        uint8_t RdMSB = (((getMEMC(getPC()) & 0x0F00) >> 8) & 0b0001) << 4;\par
        Rd = RdMSB + Rd;\par
\par
        uint8_t Rr = (getMEMC(getPC()) & 0x000F); //identyfikacja numeru rejestru arg. 2\par
        uint8_t RrMSB = (((getMEMC(getPC()) & 0x0F00) >> 8) & 0b0010) << 3;\par
        Rr = RrMSB + Rr;\par
\par}
 2. Pobranie warto\'9Cci z rejestru 1: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rd_val = getRegister(Rd) % MAX_DATA_VAL; //pobranie zawartosci rejestru arg 1\par
\par}
 3. Pobranie warto\'9Cci z rejestru 2: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rr_val = getRegister(Rr) % MAX_DATA_VAL; //pobranie zawartosci rejestru arg 2\par
\par}
 4. Obliczenie wyniku operacji OR: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t R = (Rd_val | Rr_val); //obliczenie wyniku\par
\par}
\par}
{\bkmkstart AAAAAAAADJ}
{\bkmkend AAAAAAAADJ}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje na flagach
\par}
{\tc\tcl2 \v Operacje na flagach}
1. Wyzerowanie flagi V {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         ClearFlagRegisterBit(FLAG_V); // wyzerowanie flagi V\par
\par}
 2. Ustawienie flagi N {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if (((Rd & 0x80) >> 7) == 0 && ((R & 0x80) >> 7) == 1) // je\'9Cli MSB Rd == 0 i MSB R == 1 to zmieniamy\par
                SetFlagRegisterBit(FLAG_N); // bo nast\'B9pi\'B3a zmiana MSB\par
        else\par
                ClearFlagRegisterBit(FLAG_N);\par
\par}
 3. Ustawienie flagi Z {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if (R == 0)\par
                SetFlagRegisterBit(FLAG_Z); //ustwienie flagi Z\par
        else\par
                ClearFlagRegisterBit(FLAG_Z);\par
\par}
 4. Ustawienie flagi S {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if ((GetFlagRegisterStatus(FLAG_N) ^ GetFlagRegisterStatus(FLAG_V)) == 1) \{ //ustwienie flagi S\par
                SetFlagRegisterBit(FLAG_S);\par
        \} else\par
                ClearFlagRegisterBit(FLAG_S);\par
\par}
 5. Zapisanie nowej zawarto\'9Cci Rd {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         setRegister(Rd, R); //Zapisanie wartosci rejestru do pami\'EAci\par
\par}
 6. Zwi\'EAkszenie PC {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         incPC(); //zwi\'EF\'BF\'BDkszenie licznika rozkaz\'EF\'BF\'BDw\par
\par}
\par}
{\bkmkstart AAAAAAAADK}
{\bkmkend AAAAAAAADK}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
 ================================================================================\par
 Plik: f_and.c\par
 --------------------------------------------------------------------------------\par
 Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
 Projekt:Model mikrokontrolera AVR\par
 Kompilator: avr-gcc-4.3.5\par
 Doc: doxygen 1.4.3\par
 --------------------------------------------------------------------------------\par
 Zawiera: Implementacj\'EA funkcji AND\par
 --------------------------------------------------------------------------------\par
 Komentarze:\par
 ================================================================================\par
 */\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
void F_OR(void) \{\par
\par
        printf("Function OR.");\par
\par
#if DEBUG_MODE_VOICE\par
        printf("Function OR.");\par
#endif\par
        //Pobranie rejestru flagowego z pami\'EAci\par
        uint8_t FLAGS;\par
        FLAGS = GetFlagRegister();\par
\par
        uint8_t Rd = (getMEMC(getPC()) & 0x00F0) >> 4; //identyfikacja numeru rejestru arg. 1\par
        uint8_t RdMSB = (((getMEMC(getPC()) & 0x0F00) >> 8) & 0b0001) << 4;\par
        Rd = RdMSB + Rd;\par
\par
        uint8_t Rr = (getMEMC(getPC()) & 0x000F); //identyfikacja numeru rejestru arg. 2\par
        uint8_t RrMSB = (((getMEMC(getPC()) & 0x0F00) >> 8) & 0b0010) << 3;\par
        Rr = RrMSB + Rr;\par
\par
        uint8_t Rd_val = getRegister(Rd) % MAX_DATA_VAL; //pobranie zawartosci rejestru arg 1\par
        uint8_t Rr_val = getRegister(Rr) % MAX_DATA_VAL; //pobranie zawartosci rejestru arg 2\par
\par
        uint8_t R = (Rd_val | Rr_val); //obliczenie wyniku\par
        //wypisanie zawartosci rejestrow -- czyste sprawdzenie czy wsjo ok\par
        printf("\\n0x%04x: OR R%d = %d ", getPC(), Rd, Rd_val);\par
        printf("R%d = %d, R = %d\\n", Rr, Rr_val, R);\par
        //----------USTAWIENIA REJESTRU FLAG-----------\par
\par
        ClearFlagRegisterBit(FLAG_V); // wyzerowanie flagi V\par
\par
        if (((Rd & 0x80) >> 7) == 0 && ((R & 0x80) >> 7) == 1) // je\'9Cli MSB Rd == 0 i MSB R == 1 to zmieniamy\par
                SetFlagRegisterBit(FLAG_N); // bo nast\'B9pi\'B3a zmiana MSB\par
        else\par
                ClearFlagRegisterBit(FLAG_N);\par
\par
        if (R == 0)\par
                SetFlagRegisterBit(FLAG_Z); //ustwienie flagi Z\par
        else\par
                ClearFlagRegisterBit(FLAG_Z);\par
\par
        if ((GetFlagRegisterStatus(FLAG_N) ^ GetFlagRegisterStatus(FLAG_V)) == 1) \{ //ustwienie flagi S\par
                SetFlagRegisterBit(FLAG_S);\par
        \} else\par
                ClearFlagRegisterBit(FLAG_S);\par
\par
        PrintFlagRegisterStatus(); //wypisanie zawartosci rejestru flag\par
        setRegister(Rd, R); //Zapisanie wartosci rejestru do pami\'EAci\par
        incPC(); //zwi\'EF\'BF\'BDkszenie licznika rozkaz\'EF\'BF\'BDw\par
\}\par
\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji ROL{\tc \v Opis dzia\'B3ania funkcji ROL}\par \pard\plain 
{\bkmkstart AAAAAAAAAL}
{\bkmkend AAAAAAAAAL}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
ROL - funkcja przesuwaj\'B9ca w lewo bity w rejestrze. Po przesuni\'EAciu w lewo najstarszy bit przed przesuni\'EAciem zostanie zapisany w miejsce flagi C, a flaga C zostaje zapisana w miejsce najm\'B3odszego bitu.\par
{\bkmkstart AAAAAAAADL}
{\bkmkend AAAAAAAADL}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje rejestrowe oraz arytmetyczno-logiczne
\par}
{\tc\tcl2 \v Operacje rejestrowe oraz arytmetyczno-logiczne}
1. Pobranie adresu i warto\'9Cci rejestru: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rd = (((getMEMC(getPC()) & 0x0FFF) & 0b000111110000) >> 4);\par
        uint8_t Rd_val = getRegister(Rd) % MAX_DATA_VAL;\par
\par}
 2. Ustalenie warto\'9Cci flagi C: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if ( GetRegisterBitStatus(Rd_val,MSB) == 0) \{\par
                ClearFlagRegisterBit(FLAG_C);\par
        \} else if ( GetRegisterBitStatus(Rd_val,MSB) == 1) \{\par
                SetFlagRegisterBit(FLAG_C);\par
        \}\par
\par}
 3. Przesuni\'EAcie zawarto\'9Cci rejestru: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         Rd_val = Rd_val << 1;\par
\par}
 4. Zapisanie ostatniego bitu rejestru: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if (GetFlagRegisterStatus(FLAG_C) == 1) \{\par
                //Setting lsb\par
                SetRegisterBit(Rd_val, LSB);\par
        \} else \{\par
                ClearRegisterBit(Rd_val, LSB);\par
        \}\par
\par}
\par}
{\bkmkstart AAAAAAAADM}
{\bkmkend AAAAAAAADM}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje na flagach
\par}
{\tc\tcl2 \v Operacje na flagach}
5. Wyzerowanie flagi H {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if (GetRegisterBitStatus(Rd_val, BIT_3)) \{\par
                //printf("HELLO OK R%d = 0x%02x, BIT3 = ", Rd, Rd_val, GetRegisterBitStatus(Rd_val,BIT_3) );\par
                SetFlagRegisterBit(FLAG_H);\par
        \} else \{\par
                ClearFlagRegisterBit(FLAG_H);\par
\par
                //printf("HELLO FALSE R%d = 0x%02x, BIT3 = ", Rd, Rd_val, GetRegisterBitStatus(Rd_val,BIT_3) );\par
        \}\par
\par}
 6. Ustawienie flagi N {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if (GetRegisterBitStatus(Rd_val, MSB) == 1) \{           //Ustawienie flagi N\par
                SetFlagRegisterBit(FLAG_N);\par
        \} else \{\par
                ClearFlagRegisterBit(FLAG_N);\par
        \}\par
\par}
 7. Ustawienie flagi V {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \par
        if ((GetFlagRegisterStatus(FLAG_N) ^ GetFlagRegisterStatus(FLAG_C)) == 1) \{\par
                SetFlagRegisterBit(FLAG_V);\par
        \} else \{\par
                ClearRegisterBit(FLAG_V);\par
        \}\par
\par}
 8. Ustawienie flagi S {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if ((GetFlagRegisterStatus(FLAG_N) ^ GetFlagRegisterStatus(FLAG_V)) == 1) \{\par
                SetFlagRegisterBit(FLAG_S);\par
        \} else \{\par
                ClearRegisterBit(FLAG_S);\par
        \}\par
\par}
 9. Ustawienie flagi Z {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         if (Rd_val == 0) \{\par
                SetFlagRegisterBit(FLAG_Z); //ustwienie flagi Z\par
        \} else \{\par
                ClearFlagRegisterBit(FLAG_Z);\par
        \}\par
\par}
\par}
{\bkmkstart AAAAAAAADN}
{\bkmkend AAAAAAAADN}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Zapis wyniku
\par}
{\tc\tcl2 \v Zapis wyniku}
10. Zapisanie nowej zawarto\'9Cci Rd {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         setRegister(Rd, Rd_val)\par
\par}
 11. Zwi\'EAkszenie PC {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         incPC();\par
\par}
\par}
{\bkmkstart AAAAAAAADO}
{\bkmkend AAAAAAAADO}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
 *================================================================================\par
 *      Plik: f_rol.c\par
 *      Created on: Jun 4, 2011\par
 *--------------------------------------------------------------------------------\par
 *      Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
 *      Projekt: Model mikrokontrolera AVR\par
 *      Kompilator: avr-gcc-4.3.5\par
 *      Doc: doxygen 1.4.3\par
 *--------------------------------------------------------------------------------\par
 *      Zawiera: Implementacj\'EA funkcji ROL\par
 *--------------------------------------------------------------------------------\par
 *      Komentarze:\par
 *================================================================================\par
 */\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
void F_ROL() \{\par
\par
        printf("Function ROL.");\par
        PrintFlagRegisterStatus();\par
#if DEBUG_MODE_VOICE\par
        printf("Function ROL.");\par
#endif\par
        //Pobranie warto\'9Cci adresu i warto\'9Cci rejestru. Resolve variable value from opcode\par
        uint8_t Rd = (((getMEMC(getPC()) & 0x0FFF) & 0b000111110000) >> 4);\par
        uint8_t Rd_val = getRegister(Rd) % MAX_DATA_VAL;\par
        //ustawienie warto\'9Cci flagi c - przyjmuje warto\'9C\'E6 najstarszego bitu\par
        printf("R = 0x%04x, DEC = %d\\n", Rd_val, Rd);\par
        if ( GetRegisterBitStatus(Rd_val,MSB) == 0) \{\par
                ClearFlagRegisterBit(FLAG_C);\par
        \} else if ( GetRegisterBitStatus(Rd_val,MSB) == 1) \{\par
                SetFlagRegisterBit(FLAG_C);\par
        \}\par
\par
        Rd_val = Rd_val << 1;\par
\par
        //ustawienie ostatenigo bitu rejestru - przyjmuje warto\'9C\'E6 flagi C\par
        if (GetFlagRegisterStatus(FLAG_C) == 1) \{\par
                //Setting lsb\par
                SetRegisterBit(Rd_val, LSB);\par
        \} else \{\par
                ClearRegisterBit(Rd_val, LSB);\par
        \}\par
        //Ustawienie flagi H\par
        //printf("HELLO1 R%d = 0x%02x, BIT3 = ", Rd, Rd_val, GetRegisterBitStatus(Rd_val,BIT_3) );\par
\par
        if (GetRegisterBitStatus(Rd_val, BIT_3)) \{\par
                //printf("HELLO OK R%d = 0x%02x, BIT3 = ", Rd, Rd_val, GetRegisterBitStatus(Rd_val,BIT_3) );\par
                SetFlagRegisterBit(FLAG_H);\par
        \} else \{\par
                ClearFlagRegisterBit(FLAG_H);\par
\par
                //printf("HELLO FALSE R%d = 0x%02x, BIT3 = ", Rd, Rd_val, GetRegisterBitStatus(Rd_val,BIT_3) );\par
        \}\par
\par
        if (GetRegisterBitStatus(Rd_val, MSB) == 1) \{           //Ustawienie flagi N\par
                SetFlagRegisterBit(FLAG_N);\par
        \} else \{\par
                ClearFlagRegisterBit(FLAG_N);\par
        \}\par
        //ustawienie flagi V\par
\par
        if ((GetFlagRegisterStatus(FLAG_N) ^ GetFlagRegisterStatus(FLAG_C)) == 1) \{\par
                SetFlagRegisterBit(FLAG_V);\par
        \} else \{\par
                ClearRegisterBit(FLAG_V);\par
        \}\par
\par
        //ustawienie flagi S\par
        if ((GetFlagRegisterStatus(FLAG_N) ^ GetFlagRegisterStatus(FLAG_V)) == 1) \{\par
                SetFlagRegisterBit(FLAG_S);\par
        \} else \{\par
                ClearRegisterBit(FLAG_S);\par
        \}\par
\par
        if (Rd_val == 0) \{\par
                SetFlagRegisterBit(FLAG_Z); //ustwienie flagi Z\par
        \} else \{\par
                ClearFlagRegisterBit(FLAG_Z);\par
        \}\par
\par
        //identyfikacja numeru rejestru arg. 1\par
        printf("R = 0x%04x, DEC = %d\\n", Rd_val, Rd);\par
        PrintFlagRegisterStatus();\par
        setRegister(Rd, Rd_val)\par
        incPC();\par
\par
\}\par
\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji SEH{\tc \v Opis dzia\'B3ania funkcji SEH}\par \pard\plain 
{\bkmkstart AAAAAAAAAM}
{\bkmkend AAAAAAAAAM}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
SEH - funkcja ustawiaj\'B9ca bit H w rejestrze SREG\par
{\bkmkstart AAAAAAAADP}
{\bkmkend AAAAAAAADP}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje na flagach
\par}
{\tc\tcl2 \v Operacje na flagach}
1. Ustawienie flagi H: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         SetFlagRegisterBit(FLAG_H);             //Ustaw flag\'EA H\par
\par}
 2. Zwi\'EAkszenie PC {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         incPC();                                                //Zwi\'EAksz PC\par
\par}
\par}
{\bkmkstart AAAAAAAADQ}
{\bkmkend AAAAAAAADQ}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
*================================================================================\par
*       Plik: f_seh.c\par
*       Created on: Jun 5, 2011\par
*--------------------------------------------------------------------------------\par
*       Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
*       Projekt: Model mikrokontrolera AVR\par
*       Kompilator: avr-gcc-4.3.5\par
*       Doc: doxygen 1.4.3\par
*--------------------------------------------------------------------------------\par
*       Zawiera: \par
*--------------------------------------------------------------------------------\par
*       Komentarze:\par
*================================================================================\par
*/\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
//**********************************************\par
//SEH - funkcja ustawiaj\'B9ca bit H w rejestrze SREG\par
//**************************************************\par
\par
void F_SEH(void)\{\par
\par
//Debug options\par
        printf("Function SEH.");\par
        #if DEBUG_MODE_VOICE\par
                printf("Function CLH.");\par
/*\par
 *      PrintFlagRegisterStatus();\par
 *      SetFlagRegisterBit(FLAG_H);\par
 *      PrintFlagRegisterStatus();\par
 *      DEBUG(1)\par
 */\par
        #endif\par
\par
        SetFlagRegisterBit(FLAG_H);             //Ustaw flag\'EA H\par
\par
        PrintFlagRegisterStatus();              //Wypisz status rejestru - w celu sprawdzenia\par
\par
        incPC();                                                //Zwi\'EAksz PC\par
\}\par
\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji SET{\tc \v Opis dzia\'B3ania funkcji SET}\par \pard\plain 
{\bkmkstart AAAAAAAAAN}
{\bkmkend AAAAAAAAAN}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
SET - funkcja ustawiaj\'B9ca bit T w rejestrze SREG\par
{\bkmkstart AAAAAAAADR}
{\bkmkend AAAAAAAADR}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje na flagach
\par}
{\tc\tcl2 \v Operacje na flagach}
1. Ustawienie flagi T: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         SetFlagRegisterBit(FLAG_T);             //Ustaw flag\'EA T\par
\par}
 2. Zwi\'EAkszenie PC {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         incPC();\par
\par}
\par}
{\bkmkstart AAAAAAAADS}
{\bkmkend AAAAAAAADS}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
*================================================================================\par
*       Plik: f_set.c\par
*       Created on: Jun 5, 2011\par
*--------------------------------------------------------------------------------\par
*       Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
*       Projekt: Model mikrokontrolera AVR\par
*       Kompilator: avr-gcc-4.3.5\par
*       Doc: doxygen 1.4.3\par
*--------------------------------------------------------------------------------\par
*       Zawiera: \par
*--------------------------------------------------------------------------------\par
*       Komentarze:\par
*================================================================================\par
*/\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
//**********************************************\par
//SET - funkcja ustawiaj\'B9ca bit T w rejestrze SREG\par
//**************************************************\par
\par
void F_SET(void)\{\par
\par
//Debug options\par
        printf("Function SET.");\par
        #if DEBUG_MODE_VOICE\par
                printf("Function SET.");\par
/*\par
 *      PrintFlagRegisterStatus();\par
 *      SetFlagRegisterBit(FLAG_T);\par
 *      PrintFlagRegisterStatus();\par
 *      DEBUG(1)\par
 */\par
        #endif\par
\par
        SetFlagRegisterBit(FLAG_T);             //Ustaw flag\'EA T\par
\par
//Wypisz status rejestru - w celu sprawdzenia\par
        PrintFlagRegisterStatus();\par
\par
//Zwi\'EAksz PC\par
        incPC();\par
\}\par
\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Opis dzia\'B3ania funkcji SWAP{\tc \v Opis dzia\'B3ania funkcji SWAP}\par \pard\plain 
{\bkmkstart AAAAAAAAAO}
{\bkmkend AAAAAAAAAO}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
SWAP - funkcja zamieniaj\'B9ca pierwsze cztery bity z ostatnimi czterema bitami w danym rejestrze.\par
{\bkmkstart AAAAAAAADT}
{\bkmkend AAAAAAAADT}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Operacje rejestrowe oraz arytmetyczno-logiczne
\par}
{\tc\tcl2 \v Operacje rejestrowe oraz arytmetyczno-logiczne}
1. Identyfikacja numeru rejestru argumentu: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rd = ((getMEMC(getPC()) & 0x0FF0) >> 4) & 0b00011111;   //Identyfikacja numeru rejestru argumentu\par
\par}
 2. Pobranie czterech starszych bit\'F3w: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t RdH = (getRegister(Rd) & 0b11110000) >> 4;                              //Pobranie czterech starszych bit\'F3w\par
\par}
 3. Pobranie czterech m\'B3odszych bit\'F3w: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t RdL = getRegister(Rd) & 0b00001111;                                             //Pobranie czterech m\'B3odszych bit\'F3w\par
\par}
 4. Stworzenie po\'9Credniego rejestru dla RdH: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rd_temp;                                        //Stworzenie po\'9Credniego rejestru dla RdH\par
        Rd_temp = RdH;\par
\par}
 5. Przepisanie RdL w miejsce RdH: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         RdH = RdL;                                                      //Przepisanie RdL w miejsce RdH\par
\par}
 6. Przepisanie RdH w miejsce RdL przy pomocy rejestru po\'9Credniego Rd_temp: {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         RdL = Rd_temp;                                          //Przepisanie RdH w miejsce RdL przy pomocy rejestru po\'9Credniego Rd_temp\par
\par}
 7.Utworzenie przestawionego rejestru RD {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         uint8_t Rd_val = RdH << 4 + RdL;        //Utworzenie przestawionego rejestru RD\par
\par}
 8.Zapisanie zmienionego rejestru {
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid         setRegister(Rd,Rd_val);                         //Zapisanie zmienionego rejestru\par
\par}
\par}
{\bkmkstart AAAAAAAACO}
{\bkmkend AAAAAAAACO}
{{\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Kod \'9Fr\'F3d\'B3owy funkcji
\par}
{\tc\tcl2 \v Kod \'9Fr\'F3d\'B3owy funkcji}
{
\par
\pard\plain \s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid /*\par
 *================================================================================\par
 *      Plik: f_swap.c\par
 *      Created on: Jun 5, 2011\par
 *--------------------------------------------------------------------------------\par
 *      Autorzy: Piotr Zdunek, Mateusz S\'B3owikowski, Krzysztof Wi\'B9ckowski\par
 *      Projekt: Model mikrokontrolera AVR\par
 *      Kompilator: avr-gcc-4.3.5\par
 *      Doc: doxygen 1.4.3\par
 *--------------------------------------------------------------------------------\par
 *      Zawiera:\par
 *--------------------------------------------------------------------------------\par
 *      Komentarze:\par
 *================================================================================\par
 */\par
\par
#include "types.h"\par
#include "mem_abs.h"\par
\par
//********************************************************************************\par
//SWAP - funkcja zamieniaj\'B9ca pierwsze cztery bity z ostatnimi czterema bitami w danym rejestrze\par
//********************************************************************************\par
\par
\par
void F_SWAP(void) \{\par
\par
        printf("Function SWAP.");\par
#if DEBUG_MODE_VOICE\par
        printf("Function SWAP.");\par
#endif\par
        uint8_t Rd = ((getMEMC(getPC()) & 0x0FF0) >> 4) & 0b00011111;   //Identyfikacja numeru rejestru argumentu\par
        uint8_t RdH = (getRegister(Rd) & 0b11110000) >> 4;                              //Pobranie czterech starszych bit\'F3w\par
        uint8_t RdL = getRegister(Rd) & 0b00001111;                                             //Pobranie czterech m\'B3odszych bit\'F3w\par
        printf("R%d = 0x%04x, RdH = 0x%04x, RdL = 0x%04x\\n", Rd, getRegister(Rd), RdH, RdL);\par
        //SWAP\par
        uint8_t Rd_temp;                                        //Stworzenie po\'9Credniego rejestru dla RdH\par
        Rd_temp = RdH;\par
        RdH = RdL;                                                      //Przepisanie RdL w miejsce RdH\par
        RdL = Rd_temp;                                          //Przepisanie RdH w miejsce RdL przy pomocy rejestru po\'9Credniego Rd_temp\par
        uint8_t Rd_val = RdH << 4 + RdL;        //Utworzenie przestawionego rejestru RD\par
        setRegister(Rd,Rd_val);                         //Zapisanie zmienionego rejestru\par
        printf("R%d = 0x%02x, RdH = 0x%02x, RdL = 0x%02x\\n", Rd, Rd_val, RdH, RdL);\par
\par
        incPC();        //Zwi\'EAkszenie PC\par
\}\par
\par
\par}
 \par}
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Indeks grup\par \pard\plain 
{\tc \v Indeks grup}
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Modu\'B3y\par \pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid Tutaj znajduje si\'EA lista wszystkich grup:}
{
\par
\pard\plain \s71\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid 
Maksymalne wartosci\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADU \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
Flagi\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADY \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
Nowe typy danych\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEH \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Indeks plik\'F3w\par \pard\plain 
{\tc \v Indeks plik\'F3w}
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Lista plik\'F3w\par \pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid Tutaj znajduje si\'EA lista wszystkich udokumentowanych plik\'F3w z ich kr\'F3tkimi opisami:}
{
\par
\pard\plain \s71\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid 
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b config.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik konfiguracyjny })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAT \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_adc.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEJ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_add_extended.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEK \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_and.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA AND })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAV \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_brcc.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRCC })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAX \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_brhs.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRHS })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAZ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_brpl.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRPL })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABB \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_brvs.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRVS })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABD \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_clh.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA CLH })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABF \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_clt.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA CLT })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABH \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_cpse.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA CPSE })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABJ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_inc.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA INC })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABL \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_jmp.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEL \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_lddy.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEM \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_lddz.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEN \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_ldy1.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEO \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_ldy2.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEP \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_ldy3.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEQ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_ldz1.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAER \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_ldz2.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAES \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_ldz3.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAET \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_movw.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA MOVW })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABN \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_or.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA OR })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABP \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_rol.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA ROL })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABR \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_sbic.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEU \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_seh.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA SEH })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABT \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_set.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA SET })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABV \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b f_swap.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA SWAP })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABX \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b includes.h} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEV \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b main.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik g\'B3\'F3wny programu })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABZ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b mem_abs.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEW \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b mem_abs.h} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEX \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/{\b types.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Biblioteka typ\'F3w })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAACB \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/assembly_files/{\b data.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEY \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/assembly_files/{\b data_generator.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEZ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/assembly_files/{\b data_lookup.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAFA \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/assembly_files/{\b program_instructions_generator.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAFB \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
\par}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Dokumentacja grup{\tc \v Dokumentacja grup}
\par \pard\plain 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Maksymalne wartosci\par \pard\plain 
{\tc\tcl2 \v Maksymalne wartosci}
{\xe \v Maksymalne wartosci}
{\bkmkstart AAAAAAAADU}
{\bkmkend AAAAAAAADU}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Definicje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b MAX_ADDRESS}\~ 0xFFFF\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Maksymalna wartosc adresu. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b MAX_DATA_VAL}\~ 0xFF\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Maksymalna wartosc. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b MAX_REGISTER}\~ 31\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Numer ostatniego rejestru. }{
}\par
}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja definicji\par
\pard\plain 
{\xe \v MAX_ADDRESS\:Maksymalne wartosci}
{\xe \v Maksymalne wartosci\:MAX_ADDRESS}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define MAX_ADDRESS\~ 0xFFFF}}
\par
{\bkmkstart AAAAAAAADV}
{\bkmkend AAAAAAAADV}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Maksymalna wartosc adresu. }}\par
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Maksymalna wartosc adresu okreslona na 0xFFFF. \par
}}
{\xe \v MAX_DATA_VAL\:Maksymalne wartosci}
{\xe \v Maksymalne wartosci\:MAX_DATA_VAL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define MAX_DATA_VAL\~ 0xFF}}
\par
{\bkmkstart AAAAAAAADW}
{\bkmkend AAAAAAAADW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Maksymalna wartosc. }}\par
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Maksymalna wartosc okreslona na 0xFF. \par
}}
{\xe \v MAX_REGISTER\:Maksymalne wartosci}
{\xe \v Maksymalne wartosci\:MAX_REGISTER}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define MAX_REGISTER\~ 31}}
\par
{\bkmkstart AAAAAAAADX}
{\bkmkend AAAAAAAADX}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Numer ostatniego rejestru. }}\par
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Numer ostatniego rejestru r\'F3wny 31. \par
}}
\par \pard\plain 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Flagi\par \pard\plain 
{\tc\tcl2 \v Flagi}
{\xe \v Flagi}
{\bkmkstart AAAAAAAADY}
{\bkmkend AAAAAAAADY}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Definicje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_I}\~ 7\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi I. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_T}\~ 6\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi T. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_H}\~ 5\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi H. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_S}\~ 4\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi S. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_V}\~ 3\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi V. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_N}\~ 2\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi N. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_Z}\~ 1\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi Z. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_C}\~ 0\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi C. }{
}\par
}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja definicji\par
\pard\plain 
{\xe \v FLAG_C\:Flagi}
{\xe \v Flagi\:FLAG_C}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define FLAG_C\~ 0}}
\par
{\bkmkstart AAAAAAAADZ}
{\bkmkend AAAAAAAADZ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi C. }}\par
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Flaga sygnalizuj\'B9ca przeniesienie(CARRY FLAG). \par
}}
{\xe \v FLAG_H\:Flagi}
{\xe \v Flagi\:FLAG_H}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define FLAG_H\~ 5}}
\par
{\bkmkstart AAAAAAAAEA}
{\bkmkend AAAAAAAAEA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi H. }}\par
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Flaga H to flaga po\'B3owy przeniesienia(HALF CARRY FLAG). \par
}}
{\xe \v FLAG_I\:Flagi}
{\xe \v Flagi\:FLAG_I}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define FLAG_I\~ 7}}
\par
{\bkmkstart AAAAAAAAEB}
{\bkmkend AAAAAAAAEB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi I. }}\par
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Flaga I s\'B3u\'BFy do sygnalizacji przerwania(Global interrupt enable/disable flag). \par
}}
{\xe \v FLAG_N\:Flagi}
{\xe \v Flagi\:FLAG_N}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define FLAG_N\~ 2}}
\par
{\bkmkstart AAAAAAAAEC}
{\bkmkend AAAAAAAAEC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi N. }}\par
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Flaga zaprzeczenia(NEGATIVE FLAG). \par
}}
{\xe \v FLAG_S\:Flagi}
{\xe \v Flagi\:FLAG_S}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define FLAG_S\~ 4}}
\par
{\bkmkstart AAAAAAAAED}
{\bkmkend AAAAAAAAED}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi S. }}\par
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Flaga S to XOR flag N i V. \par
}}
{\xe \v FLAG_T\:Flagi}
{\xe \v Flagi\:FLAG_T}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define FLAG_T\~ 6}}
\par
{\bkmkstart AAAAAAAAEE}
{\bkmkend AAAAAAAAEE}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi T. }}\par
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Flaga T s\'B3u\'BFy do sygnalizacji transferu bitu, jest u\'BFywana przez funkcje {\b BLD}  i {\b BST}  \par
}}
{\xe \v FLAG_V\:Flagi}
{\xe \v Flagi\:FLAG_V}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define FLAG_V\~ 3}}
\par
{\bkmkstart AAAAAAAAEF}
{\bkmkend AAAAAAAAEF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi V. }}\par
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Flaga dope\'B3nienia do dw\'F3ch(Two's complement overflow flag). \par
}}
{\xe \v FLAG_Z\:Flagi}
{\xe \v Flagi\:FLAG_Z}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define FLAG_Z\~ 1}}
\par
{\bkmkstart AAAAAAAAEG}
{\bkmkend AAAAAAAAEG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi Z. }}\par
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Flaga sygnalizuj\'B9ca zero(ZERO FLAG). \par
}}
\par \pard\plain 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Nowe typy danych\par \pard\plain 
{\tc\tcl2 \v Nowe typy danych}
{\xe \v Nowe typy danych}
{\bkmkstart AAAAAAAAEH}
{\bkmkend AAAAAAAAEH}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Definicje typ\'F3w\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

typedef unsigned short {\b uint16_t}{\bkmkstart AAAAAAAACK}
{\bkmkend AAAAAAAACK}
\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
szesnastobitowy typ danych o wartosciach od 0 do 65k. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

typedef unsigned char {\b uint8_t}{\bkmkstart AAAAAAAAEI}
{\bkmkend AAAAAAAAEI}
\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
osmiobitowy typ danych o wartosciach od 0 do 255. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

typedef char {\b int8_t}{\bkmkstart AAAAAAAACL}
{\bkmkend AAAAAAAACL}
\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
osmiobitowy typ danych o wartosciach od -64 do 64. }{
}\par
}}
}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
Dokumentacja plik\'F3w{\tc \v Dokumentacja plik\'F3w}
\par \pard\plain 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/config.h\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/config.h}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/config.h}
{\bkmkstart AAAAAAAAAT}
{\bkmkend AAAAAAAAAT}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik konfiguracyjny. }}\par
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Definicje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

#define {\b DEBUG_MODE}\~ 1{\bkmkstart AAAAAAAAAU}
{\bkmkend AAAAAAAAAU}
\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik konfiguracyjny. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik {\b config.h} s\'B3u\'BFy do uruchomienia debugowania. \par
}{
Definicja w pliku {\b config.h}.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_and.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_and.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_and.c}
{\bkmkstart AAAAAAAAAV}
{\bkmkend AAAAAAAAAV}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA AND. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_AND} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA AND. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_and.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_AND\:f_and.c}
{\xe \v f_and.c\:F_AND}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_AND (void)}}
\par
{\bkmkstart AAAAAAAAAW}
{\bkmkend AAAAAAAAAW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_AND(void)}\{\} \par \par {\b Opis dzia\'B3ania funkcji AND} \par}}\par
{
Definicja w linii 25 pliku f_and.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brcc.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brcc.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brcc.c}
{\bkmkstart AAAAAAAAAX}
{\bkmkend AAAAAAAAAX}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRCC. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_BRCC} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRCC. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_brcc.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_BRCC\:f_brcc.c}
{\xe \v f_brcc.c\:F_BRCC}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_BRCC (void)}}
\par
{\bkmkstart AAAAAAAAAY}
{\bkmkend AAAAAAAAAY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_BRCC(void)}\{\} \par \par BRCC (Branch if Carry Cleared) \par Branch czyli skok. Je\'9Cli w wyniku poprzednio wykonanej operacji zosta\'B3a wyzerowana flaga C, to ma zosta\'E6 wykonany skok do innego adresu.\par
{\b Opis dzia\'B3ania funkcji BRCC} \par}}\par
{
Definicja w linii 42 pliku f_brcc.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brhs.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brhs.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brhs.c}
{\bkmkstart AAAAAAAAAZ}
{\bkmkend AAAAAAAAAZ}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRHS. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_BRHS} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRHS. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_brhs.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_BRHS\:f_brhs.c}
{\xe \v f_brhs.c\:F_BRHS}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_BRHS (void)}}
\par
{\bkmkstart AAAAAAAABA}
{\bkmkend AAAAAAAABA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_BRHS(void)}\{\} \par \par BRHS(Branch if Half Carry flag is set)\par Branch czyli skok. Je\'9Cli w wyniku poprzedniej wykonanej operacji zosta\'B3a ustawiona flaga H, to ma zosta\'E6 wykonany skok do innego adresu.\par
{\b Opis dzia\'B3ania funkcji BRHS} \par}}\par
{
Definicja w linii 45 pliku f_brhs.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brpl.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brpl.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brpl.c}
{\bkmkstart AAAAAAAABB}
{\bkmkend AAAAAAAABB}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRPL. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_BRPL} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRPL. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_brpl.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_BRPL\:f_brpl.c}
{\xe \v f_brpl.c\:F_BRPL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_BRPL (void)}}
\par
{\bkmkstart AAAAAAAABC}
{\bkmkend AAAAAAAABC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_BRPL(void)}\{\} \par \par BRPL(Branch if plus)\par Branch czyli skok. Je\'9Cli w wyniku poprzedniej wykonanej operacji zosta\'B3a ustawiona flaga N, to ma by\'E6 skok do innego adresu.\par
{\b Opis dzia\'B3ania funkcji BRPL} \par}}\par
{
Definicja w linii 42 pliku f_brpl.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brvs.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brvs.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_brvs.c}
{\bkmkstart AAAAAAAABD}
{\bkmkend AAAAAAAABD}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRVS. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_BRVS} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA BRVS. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_brvs.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_BRVS\:f_brvs.c}
{\xe \v f_brvs.c\:F_BRVS}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_BRVS (void)}}
\par
{\bkmkstart AAAAAAAABE}
{\bkmkend AAAAAAAABE}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_BRVS(void)}\{\} \par \par BRVS (Branch if oVerflow flag is set). \par Branch czyli skok. Je\'9Cli w wyniku poprzedniej wykonanej operacji zosta\'B3a ustawiona flaga V, to ma zosta\'E6 wykonany skok do innego adresu.\par
{\b Opis dzia\'B3ania funkcji BRVS} \par}}\par
{
Definicja w linii 42 pliku f_brvs.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_clh.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_clh.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_clh.c}
{\bkmkstart AAAAAAAABF}
{\bkmkend AAAAAAAABF}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA CLH. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_CLH} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA CLH. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_clh.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_CLH\:f_clh.c}
{\xe \v f_clh.c\:F_CLH}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_CLH (void)}}
\par
{\bkmkstart AAAAAAAABG}
{\bkmkend AAAAAAAABG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_CLH(void)}\{\} \par \par CLH - funkcja kasuj\'B9ca bit H w rejestrze SREG\par
{\b Opis dzia\'B3ania funkcji CLH} \par}}\par
{
Definicja w linii 27 pliku f_clh.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_clt.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_clt.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_clt.c}
{\bkmkstart AAAAAAAABH}
{\bkmkend AAAAAAAABH}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA CLT. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_CLT} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA CLT. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_clt.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_CLT\:f_clt.c}
{\xe \v f_clt.c\:F_CLT}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_CLT (void)}}
\par
{\bkmkstart AAAAAAAABI}
{\bkmkend AAAAAAAABI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_CLH(void)}\{\} \par \par CLT - funkcja kasuj\'B9ca bit T w rejestrze SREG\par
{\b Opis dzia\'B3ania funkcji CLT} \par}}\par
{
Definicja w linii 29 pliku f_clt.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_cpse.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_cpse.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_cpse.c}
{\bkmkstart AAAAAAAABJ}
{\bkmkend AAAAAAAABJ}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA CPSE. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_CPSE} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA CPSE. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_cpse.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_CPSE\:f_cpse.c}
{\xe \v f_cpse.c\:F_CPSE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_CPSE (void)}}
\par
{\bkmkstart AAAAAAAABK}
{\bkmkend AAAAAAAABK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_CPSE(void)}\{\} \par \par CPSE - funkcja wykonuj\'B9ca skok je\'9Cli warto\'9C\'E6 dw\'F3ch danych rejestr\'F3w jest sobie r\'F3wna.\par
{\b Opis dzia\'B3ania funkcji CPSE} \par}}\par
{
Definicja w linii 27 pliku f_cpse.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_inc.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_inc.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_inc.c}
{\bkmkstart AAAAAAAABL}
{\bkmkend AAAAAAAABL}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA INC. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_INC} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA INC. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_inc.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_INC\:f_inc.c}
{\xe \v f_inc.c\:F_INC}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_INC (void)}}
\par
{\bkmkstart AAAAAAAABM}
{\bkmkend AAAAAAAABM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_INC(void)}\{\} \par \par INC - funkcja zwi\'EAkszaj\'B9ca wartos\'E6 danego rejestru o 1 \par{\b Opis dzia\'B3ania funkcji INC} \par}}\par
{
Definicja w linii 28 pliku f_inc.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_movw.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_movw.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_movw.c}
{\bkmkstart AAAAAAAABN}
{\bkmkend AAAAAAAABN}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA MOVW. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_MOVW} ()\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA MOVW. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_movw.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_MOVW\:f_movw.c}
{\xe \v f_movw.c\:F_MOVW}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_MOVW ()}}
\par
{\bkmkstart AAAAAAAABO}
{\bkmkend AAAAAAAABO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_MOVW(void)}\{\} \par \par MOVW - funkcja przenosz\'B9ca dwa rejestry po\'B3o\'BFone obok siebie do dw\'F3ch innych rejestr\'F3w po\'B3o\'BFonych obok siebie.\par
{\b Opis dzia\'B3ania funkcji MOVW} \par}}\par
{
Definicja w linii 24 pliku f_movw.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_or.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_or.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_or.c}
{\bkmkstart AAAAAAAABP}
{\bkmkend AAAAAAAABP}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA OR. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_OR} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA OR. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_or.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_OR\:f_or.c}
{\xe \v f_or.c\:F_OR}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_OR (void)}}
\par
{\bkmkstart AAAAAAAABQ}
{\bkmkend AAAAAAAABQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_OR(void)}\{\} \par \par OR - operacja logiczna OR wykonywana na zawarto\'9Cciach rejestr\'F3w Rd i Rr, kt\'F3rej wynik jest zapisywany do rejestru Rd.\par
{\b Opis dzia\'B3ania funkcji OR} \par}}\par
{
Definicja w linii 23 pliku f_or.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_rol.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_rol.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_rol.c}
{\bkmkstart AAAAAAAABR}
{\bkmkend AAAAAAAABR}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA ROL. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_ROL} ()\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA ROL. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_rol.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_ROL\:f_rol.c}
{\xe \v f_rol.c\:F_ROL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_ROL ()}}
\par
{\bkmkstart AAAAAAAABS}
{\bkmkend AAAAAAAABS}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_ROL(void)}\{\} \par \par ROL - funkcja przesuwaj\'B9ca w lewo bity w rejestrze. Po przesuni\'EAciu w lewo najstarszy bit przed przesuni\'EAciem zostanie zapisany w miejsce flagi C, a flaga C zostaje zapisana w miejsce najm\'B3odszego bitu.\par
{\b Opis dzia\'B3ania funkcji ROL} \par}}\par
{
Definicja w linii 24 pliku f_rol.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_seh.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_seh.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_seh.c}
{\bkmkstart AAAAAAAABT}
{\bkmkend AAAAAAAABT}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA SEH. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_SEH} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA SEH. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_seh.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_SEH\:f_seh.c}
{\xe \v f_seh.c\:F_SEH}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_SEH (void)}}
\par
{\bkmkstart AAAAAAAABU}
{\bkmkend AAAAAAAABU}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_SEH(void)}\{\} \par \par SEH - funkcja ustawiaj\'B9ca bit H w rejestrze SREG\par
{\b Opis dzia\'B3ania funkcji SEH} \par}}\par
{
Definicja w linii 28 pliku f_seh.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_set.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_set.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_set.c}
{\bkmkstart AAAAAAAABV}
{\bkmkend AAAAAAAABV}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA SET. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_SET} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA SET. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_set.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_SET\:f_set.c}
{\xe \v f_set.c\:F_SET}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_SET (void)}}
\par
{\bkmkstart AAAAAAAABW}
{\bkmkend AAAAAAAABW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_SET(void)}\{\} \par \par SET - funkcja ustawiaj\'B9ca bit T w rejestrze SREG\par
{\b Opis dzia\'B3ania funkcji SET} \par}}\par
{
Definicja w linii 28 pliku f_set.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_swap.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_swap.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/f_swap.c}
{\bkmkstart AAAAAAAABX}
{\bkmkend AAAAAAAABX}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA SWAP. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "types.h"}\par
{\f2 #include "mem_abs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b F_SWAP} (void)\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik opisuj\'B9cy funkcj\'EA SWAP. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
Definicja w pliku {\b f_swap.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentacja funkcji\par
\pard\plain 
{\xe \v F_SWAP\:f_swap.c}
{\xe \v f_swap.c\:F_SWAP}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void F_SWAP (void)}}
\par
{\bkmkstart AAAAAAAABY}
{\bkmkend AAAAAAAABY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
}{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
void {\b F_SWAP(void)}\{\} \par \par SWAP - funkcja zamieniaj\'B9ca ze sob\'B9 miejscami 4 pierwsze i cztery ostatnie bity w rejestrze\par
{\b Opis dzia\'B3ania funkcji SWAP} \par}}\par
{
Definicja w linii 29 pliku f_swap.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/main.c\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/main.c}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/main.c}
{\bkmkstart AAAAAAAABZ}
{\bkmkend AAAAAAAABZ}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik g\'B3\'F3wny programu. }}\par
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "includes.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funkcje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

int {\b main} (void){\bkmkstart AAAAAAAACA}
{\bkmkend AAAAAAAACA}
\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Plik g\'B3\'F3wny programu. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Piotr Zdunek\par
}{\b Main.c} - g\'B3\'F3wny plik programu. \par
}{
Definicja w pliku {\b main.c}.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
Dokumentacja pliku C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/types.h\par \pard\plain 
{\tc\tcl2 \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/types.h}
{\xe \v C:/Users/Krzysiek/Desktop/[SYKO]PROJEKT/project_uC_AVR_v2/types.h}
{\bkmkstart AAAAAAAACB}
{\bkmkend AAAAAAAACB}
\par
{
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Biblioteka typ\'F3w. }}\par
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Definicje\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b MAX_REGISTER}\~ 31\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Numer ostatniego rejestru. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b MAX_ADDRESS}\~ 0xFFFF\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Maksymalna wartosc adresu. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b MAX_DATA_VAL}\~ 0xFF\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Maksymalna wartosc. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

#define {\b PRINT_MEMD_NUMBER}\~ 10{\bkmkstart AAAAAAAACC}
{\bkmkend AAAAAAAACC}
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

#define {\b PRINT_MEMC_NUMBER}\~ 10{\bkmkstart AAAAAAAACD}
{\bkmkend AAAAAAAACD}
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

#define {\b SREG_ADDRESS}\~ 0x003F{\bkmkstart AAAAAAAACE}
{\bkmkend AAAAAAAACE}
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

#define {\b LYR}\~ 28{\bkmkstart AAAAAAAACF}
{\bkmkend AAAAAAAACF}
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

#define {\b HYR}\~ 29{\bkmkstart AAAAAAAACG}
{\bkmkend AAAAAAAACG}
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_I}\~ 7\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi I. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_T}\~ 6\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi T. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_H}\~ 5\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi H. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_S}\~ 4\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi S. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_V}\~ 3\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi V. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_N}\~ 2\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi N. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_Z}\~ 1\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi Z. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FLAG_C}\~ 0\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definicja flagi C. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

#define {\b DEBUG}(x)\~ printf("\\nDEBUG %d\\n",x);{\bkmkstart AAAAAAAACH}
{\bkmkend AAAAAAAACH}
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

#define {\b REP}(i, n)\~ for(i = 0; i < n; i++){\bkmkstart AAAAAAAACI}
{\bkmkend AAAAAAAACI}
\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Definicje typ\'F3w\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

typedef unsigned char {\b uint8_t}{\bkmkstart AAAAAAAACJ}
{\bkmkend AAAAAAAACJ}
\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

typedef unsigned short {\b uint16_t}{\bkmkstart AAAAAAAACK}
{\bkmkend AAAAAAAACK}
\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
szesnastobitowy typ danych o wartosciach od 0 do 65k. }{
}\par
}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 

typedef char {\b int8_t}{\bkmkstart AAAAAAAACL}
{\bkmkend AAAAAAAACL}
\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
osmiobitowy typ danych o wartosciach od -64 do 64. }{
}\par
}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Opis szczeg\'F3\'B3owy\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Biblioteka typ\'F3w. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Biblioteka typ\'F3w - DataType, CodeType,AdressType,najwiekszych wartosci numerow rejestrow, oraz znaczenia flag. plik {\b types.h} \par
}{
Definicja w pliku {\b types.h}.}\par
}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid Indeks\par 
\pard\plain 
{\tc \v Indeks}
{\field\fldedit {\*\fldinst INDEX \\c2 \\*MERGEFORMAT}{\fldrslt INDEX}}
}